﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlyingCircusWebIS.Models
{
    public interface IService<T> where T: class
    {
        List<ValidationResult> ValidarEntidade(T entidade);

        List<ValidationResult> ValidaAdicionar(T entidade);
        void Adicionar(T entidade);

        List<ValidationResult> ValidaAtualizar(T entidade);
        void Atualizar(T entidade);

        T BuscarPorId(int id);


        void AtivarPorId(int id);

        List<ValidationResult> ValidaDesativarPorId(int id);
        void DesativarPorId(int id);

        List<T> Listar();

    }
}
